package com.icinfo.cloud.provider.punish.common.datareport.model;

import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.time.LocalDateTime;

/**
 * @Desc 描述
 * @Author mahan
 * @Date 2023/1/5
 */
@Table(name = "upcase.case_data_change_report_record")
@Data
@NoArgsConstructor
public class CaseDataChangeReportRecord {

	/**
	 * 主键id
	 */
	@Id
	@Column(name = "id")
	private String id;

	/**
	 * 案件ID
	 */
	@Column(name = "case_id")
	private String caseId;

	/**
	 * 案件操作类型：1、修改当事人信息，2、修改案发地址，3、修改承办人，4、修改案由，5、撤回，6、撤销立案，7、行政处罚撤销（撤回到调查取证阶段时需要重新上报），8、删除
	 */
	@Column(name = "case_operation_type")
	private String caseOperationType;

	/**
	 * 上报状态：1、待上报，2、无需上报，3、上报失败，4、上报成功
	 */
	@Column(name = "case_report_status")
	private String caseReportStatus;

	/**
	 * 创建时间
	 */
	@Column(name = "create_time")
	private LocalDateTime createTime;

	/**
	 * 创建人ID
	 */
	@Column(name = "create_user_id")
	private String createUserId;

	/**
	 * 上报时间
	 */
	@Column(name = "report_time")
	private LocalDateTime reportTime;

	/**
	 * 数据上报类型：1、修改，2、撤回，3、删除
	 */
	@Column(name = "case_report_type")
	private String caseReportType;

	/**
	 * 案件当前环节code
	 */
	@Column(name = "case_current_link_code")
	private String caseCurrentLinkCode;

	/**
	 * 案件当前阶段code
	 */
	@Column(name = "case_current_stage_code")
	private String caseCurrentStageCode;

	/**
	 * 不需要上报原因
	 */
	@Column(name = "no_need_report_reason")
	private String noNeedReportReason;

	/**
	 * 更新时间
	 */
	@Column(name = "update_time")
	private LocalDateTime updateTime;
}
